package com.xqboss.apps.domain.nft;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.xqboss.apps.domain.BaseTable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 * nft藏品-转赠配置
 * </p>
 *
 * @author admin
 * @since 2024-03-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="NftTransferConfig对象", description="nft藏品-转赠配置")
public class NftTransferConfig extends BaseTable implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "藏品转赠主键id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "1藏品 2装备 3宝盒 4材料")
    private Integer type;

    @ApiModelProperty(value = "源id（藏品 装备 宝盒 材料类型）")
    private Long sourceId;

    @ApiModelProperty(value = "转赠开关")
    private Boolean isTransfer;

    @ApiModelProperty(value = "单次最低转赠数量")
    @TableField(updateStrategy = FieldStrategy.IGNORED) //允许修改为空
    private Integer minTransferNum;

    @ApiModelProperty(value = "单词最高转赠数量")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Integer maxTransferNum;

    @ApiModelProperty(value = "用户累计转赠上限(每个用户转赠该藏品的数量上限)")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Integer transferUpper;

    @ApiModelProperty(value = "转赠热豆服务费")
    private BigDecimal hotBeans;

    @ApiModelProperty(value = "转赠扳手服务费")
    private BigDecimal wrench;

    @ApiModelProperty(value = "转赠力豆服务费")
    private BigDecimal lidou;

    @ApiModelProperty(value = "转赠范围 0全部用户 1白名单用户")
    private Integer transferScope;

    @ApiModelProperty(value = "白名单用户id")
    private String whiteUser;

}
